/*
 * Station.h
 *
 *  Created on: 6 mars 2011
 *      Author: Julien
 */

#ifndef STATION_H_
#define STATION_H_

#include "Element.h"
#include "BorneAchatTicket.h"
#include <iostream>

using namespace std;

class Passager;

class Station : public Element {
private:
	BorneAchatTicket * borneAchat;
	int attente; // Taille de la file d'attente
	Passager ** fileAttente; //File d'attente de la station
	int insertion; // Place dans la file d'attente à laquelle sera le nouveau passager
	bool terminus; //Est-ce que la station est le terminus ?
public:
	Station(Section * section, bool terminus = false);
	bool isTerminus();
	void afficher();
	BorneAchatTicket * getBorneAchat();
	int getNbAttente();
	Passager ** getFileAttente();
	int rejoindreFileAttente(Passager * p); // Permet à un passager de rejoindre la file d'attente de la station
	void quitterFileAttente(int place); // Permet à un passager de quitter la file d'attente
	virtual ~Station();
};

#endif /* STATION_H_ */
